package cn.hznc.controller.uploadfilestrategy;

import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

/**
 * @Author：Administrator
 * @Date：2024/1/4 17:08
 */
@Component
public class UploadLocal implements UploadFileStrategy{

    static final String PATH = "D:\\test\\";

    @Override
    public void uploadFile(MultipartFile file , String fileName) {
        //file是一个临时文件，请求结束后自动删除
        //获取原始文件名
        String originalFilename = file.getOriginalFilename();
        //取文件名的后缀
        String substring = originalFilename.substring(originalFilename.lastIndexOf("."));
        //使用uuid生成文件名，防止重复导致覆盖
        //String fileName = UUID.randomUUID().toString()+substring;
        String fName = fileName+substring;
        //String basePath = "D:\\test\\";
        //创建一个目录对象
        File dir=new File(PATH);
        //判断目录是否存在
        if(!dir.exists()){
            //目录不存在，则先创建
            dir.mkdirs();
        }
        try {

            //将临时文件转存到指定位置
            file.transferTo(new File(PATH+fName));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
